<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>
        // [2,1,3,2,1,3,5,7,1]
        // 分析：
        //    工具人  叶开   统计
        //    工具人  江志龙 唱票
        //       叶开：第一个人丁宇    班长把第1个开始的所有的人的名字念一遍    如果有人也叫丁宇   统计一次


        arr = [2,1,3,2,1,3,5,7,1] ;

        // // 统计第一个值出现的次数
        // var count = 0 ; 
        // for(var i = 0 ; i < arr.length ; i++) {
        //     if(arr[i] === arr[0]) {
        //         count++ ;
        //     }
        // }
        // console.log(arr[0] ,count) ;

        // // 统计第er个值出现的次数
        // var count = 0 ; 
        // for(var i = 0 ; i < arr.length ; i++) {
        //     if(arr[i] === arr[1]) {
        //         count++ ;
        //     }
        // }
        // console.log(arr[1] ,count) ;


        // for(var j = 0 ; j < arr.length ; j++) {
        //     // 统计第一个值出现的次数
        //     var count = 0 ; 
        //     for(var i = 0 ; i < arr.length ; i++) {
        //         if(arr[i] === arr[j]) {
        //             count++ ;
        //         }
        //     }
        //     console.log(arr[j] ,count) ;
        // }

        // bug:会重复的统计





        // 优化 -> 统计不重复的值
        //  [2,3,1,5,7] ;   // 不重复的值
        //  [2,1,3,2,1,3,5,7,1]   // 原数组
        
        var noRepeatArr = noRepeat(arr) ;   // 使用去重的方法的时候，不要改变原数组
        
        // 遍历不重复的数组
        for(var j = 0 ; j < noRepeatArr.length ; j++) {
            var count = 0 ;
            // 遍历原数组
            for(var i = 0 ; i < arr.length ; i++) {
                if(arr[i] === noRepeatArr[j]) {
                    count++ ;
                }
            }
            console.log(noRepeatArr[j] + '出现了' + count + '次');
        }



        function noRepeat(arr) {
            // var arr = [2,1,3,2,2,2,2,1,3,5,7,1] ;
            // 声明一个新的数组
            var newArr = [] ;
            // 把第一个值直接放进去
            newArr[0] = arr[0] ; 
            for(var i = 1 ; i < arr.length ; i++) {
                // 判断新数组中是否存在将要放入的这个值
                if(newArr.includes(arr[i]) === false) {
                    // 如果不存在就放入新数组中
                    newArr.push(arr[i]) ;
                }
            }
            return newArr ;
        }




    </script>
    
</body>
</html>